package com.fengze.business.mapper;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import com.fengze.business.domain.ReimbursementRecord;
import org.apache.ibatis.annotations.Param;

/**
 * 报销记录Mapper接口
 * 
 * @author lug
 * @date 2024-02-28
 */
public interface ReimbursementRecordMapper 
{
    /**
     * 查询报销记录
     * 
     * @param id 报销记录主键
     * @return 报销记录
     */
    public ReimbursementRecord selectReimbursementRecordById(Long id);

    /**
     * 查询报销记录列表
     * 
     * @param reimbursementRecord 报销记录
     * @return 报销记录集合
     */
    public List<ReimbursementRecord> selectReimbursementRecordList(ReimbursementRecord reimbursementRecord);

    /**
     * 新增报销记录
     * 
     * @param reimbursementRecord 报销记录
     * @return 结果
     */
    public int insertReimbursementRecord(ReimbursementRecord reimbursementRecord);

    /**
     * 修改报销记录
     * 
     * @param reimbursementRecord 报销记录
     * @return 结果
     */
    public int updateReimbursementRecord(ReimbursementRecord reimbursementRecord);

    /**
     * 删除报销记录
     * 
     * @param id 报销记录主键
     * @return 结果
     */
    public int deleteReimbursementRecordById(Long id);

    /**
     * 批量删除报销记录
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteReimbursementRecordByIds(Long[] ids);

    int updateAuditInfo(@Param("id") Long id, @Param("userId") Long userId,@Param("auditTime") Date auditTime,@Param("status") Integer status);

    int updatePaymentInfo(@Param("id")Long id, @Param("userId") Long userId,@Param("paymentTime") Date paymentTime,@Param("status") Integer status);

    int addMoney(@Param("id") Long id,@Param("money") BigDecimal money);

    int subtractionMoney(@Param("id")Long id, @Param("money")BigDecimal money);
}
